# @Time    :2025/4/2 11:44
"""
标准库与模块结合应用
编写一个模块 file_operations.py，在其中使用 os 标准库来实现一个函数 list_files_in_directory，
该函数接受一个目录路径作为参数，返回该目录下的所有文件名（不包括子目录中的文件）。
再编写另一个函数 read_file_content，接受一个文件路径作为参数，
使用 open 函数读取文件内容并返回。然后在 main_script_2.py 文件中导入 file_operations.py 模块，
调用 list_files_in_directory 函数列出当前目录下的所有文件，再选择其中一个文件（假设文件名已知），
调用 read_file_content 函数读取并打印该文件的内容。
"""
import os
import file_operations




def list_files_in_directory(directory_path):
    """
    列出指定目录下的所有文件名（不包括子目录中的文件）
    :param directory_path: 目录路径
    :return: 文件名列表
    """
    try:
        # 获取目录下的所有文件和子目录
        all_entries = os.listdir(directory_path)
        # 过滤出文件
        files = [entry for entry in all_entries if os.path.isfile(os.path.join(directory_path, entry))]
        return files
    except FileNotFoundError:
        print(f"目录 {directory_path} 不存在")
        return []
    except PermissionError:
        print(f"没有权限访问目录 {directory_path}")
        return []

def read_file_content(file_path):
    """
    读取指定文件的内容
    :param file_path: 文件路径
    :return: 文件内容
    """
    try:
        with open(file_path, 'r', encoding='utf-8') as file:
            content = file.read()
        return content
    except FileNotFoundError:
        print(f"文件 {file_path} 不存在")
        return None
    except PermissionError:
        print(f"没有权限读取文件 {file_path}")
        return None
    except Exception as e:
        print(f"读取文件 {file_path} 时发生错误: {e}")
        return None


# 列出当前目录下的所有文件
current_directory = '.'
files = file_operations.list_files_in_directory(current_directory)
print("当前目录下的文件:", files)

# 假设已知文件名为 'example.txt'
file_name = 'example.txt'
file_path = os.path.join(current_directory, file_name)

# 读取并打印文件内容
file_content = file_operations.read_file_content(file_path)
if file_content is not None:
    print(f"文件 {file_name} 的内容:")
    print(file_content)






